iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0

昨天講到關於RMI的架構,今天會詳細地介紹關於RMI是如何執行與分配資料,搭配公式來解說,讓大家更深入地瞭解~~

題外話 - 大概等到本篇論文講到一個段落,才會開始實作喔><
抱歉各位,一堆屁話,請多多包涵 !

  • 我們先來定義參數

https://chart.googleapis.com/chart?cht=tx&amp;chl=f(x): 代表 Model 輸入的 key 值為 x。

https://chart.googleapis.com/chart?cht=tx&amp;chl=y : 表示position,範圍[0,N)。

https://chart.googleapis.com/chart?cht=tx&amp;chl=l : 代表層數,第 https://chart.googleapis.com/chart?cht=tx&amp;chl=l 層。

https://chart.googleapis.com/chart?cht=tx&amp;chl=M_l : 代表第https://chart.googleapis.com/chart?cht=tx&amp;chl=l層總共的Model數量。

https://chart.googleapis.com/chart?cht=tx&amp;chl=k : 表示第幾個Model。

舉例: https://chart.googleapis.com/chart?cht=tx&amp;chl=f%5Ek_l就表示第https://chart.googleapis.com/chart?cht=tx&amp;chl=l層的第k個Model

  • 執行RMI公式

https://chart.googleapis.com/chart?cht=tx&amp;chl=f_%7Bl-1%7D(x)%20%3D%20f%5E%7B(%5Clfloor%20M_%7Bl-1%7Df_%7Bl-2%7D(x)%2FN%20%5Crfloor)%7D_%7Bl-1%7D(x)

上方的公式為RMI的重點,不斷地執行上面的公式,直到選擇至最後一層的Model,最後預測出位置。

  • 計算誤差公式

https://chart.googleapis.com/chart?cht=tx&amp;chl=L_l%20%3D%20%5Csum_%7B(x%2Cy)%7D%7B(f%5E%7B(%5Clfloor%20M_lf_%7Bl-1%7D(x)%2FN%20%5Crfloor)%7D_l(x)-y)%5E2%7D

迭代地訓練每層的每個Model,以平方差來計算平均誤差。

嗯嗯嗯...很像就這樣講完了XD

等等..那資料是如何分配至下一層的呢??

我們繼續看下去 ~

分配資料給下層Model的公式

我們來放大看看執行RMI的公式~燈燈燈燈燈 ! (從口袋拿出放大燈)

放大燈 !!!

https://ithelp.ithome.com.tw/upload/images/20200928/20129198i7KhnEJj1M.png

紅框就是分配資料的公式,Model訓練完後,依據其 預測的位置 除以所有的資料數量 ,在乘以 下一層的Model總數 ,來分配給下一層的Model。

這個公式的想法就是: Key值根據Model預測出的位置分布,決定被分配至下一層的哪一個Model

Ex: 當Key值被預測出的位置比較後面,那就由較後面的Model來負責訓練。

我的表達很像真的很爛...但我盡力了XD

簡單來說,RMI架構的設計,是為了使大量的Keys依據迭代的Model訓練並將分布相較集中的Key值聚集在一起,由不同Model訓練預測。

想一想~

方法一、使用單一個Model訓練所有的資料並預測

方法二、使用RMI架構,將資料分配至好幾堆,分別由不同的Model訓練

方法二當然比較好呀,因為方法二就是為了彌補方法一的缺陷所設計的麻 XD

https://ithelp.ithome.com.tw/upload/images/20200928/20129198wIIMqopEvM.png


上一篇
Day 12 - RMI 架構
下一篇
Day 14 - Hybrid Indexes
系列文
索引結構與機器學習的相遇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言